package com.demo.mapper;

import com.demo.bean.DailyActivity;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 李天航
 * 操作日常活动表
 */
@Repository
public interface DailyActivityMapper {
    /**
     * 获取用户账号对应的日常活动
     * @param userAccount 用户账号
     * @return 日常活动表
     */
    List<DailyActivity> getDailyActivitiesByUserAccount(String userAccount);
    /**
     * 添加一项日常活动
     * @param dailyActivity 日常活动信息
     */
    void addDailyActivity(DailyActivity dailyActivity);

    /**
     * 通过主键删除一项日常活动
     * @param dailyId 日常活动的id
     */
    void deleteDailyActivity(Integer dailyId);

    /**
     * 更新一项日常活动
     * @param dailyActivity 更新后的信息
     */
    void updateDailyActivity(DailyActivity dailyActivity);

    /**
     * 通过主键查找一项日常活动
     * @param dailyId 日常活动的id
     * @return 日常活动的信息
     */
    DailyActivity getDailyActivityById(Integer dailyId);

    /**
     * 返回第一个开始时间大于time的日常活动
     * @param dailyActivity beginTime和id
     * @return 日常活动
     */
    DailyActivity firstLargerBeginTime(DailyActivity dailyActivity);

    /**
     * 返回第一个结束时间大于time的日常活动
     * @param dailyActivity beginTime和id
     * @return 日常活动
     */
    DailyActivity firstLargerEndTime(DailyActivity dailyActivity);

    /**
     * 获取日常活动的总数
     * @return 总数
     * @param userAccount 用户账号
     */
    Integer getDailyActivityCount(String userAccount);

    /**
     * 删除不合法数据
     */
    void deleteWrongData();
}
